
import 'package:favorcate/core/viewmodel/favor_view_model.dart';
import 'package:favorcate/core/viewmodel/filter_view_model.dart';
import 'package:favorcate/core/viewmodel/meal_view_model.dart';
import 'package:provider/provider.dart';
import 'package:provider/single_child_widget.dart';

// 可扩展更多的数据共享
// 懒加载
List<SingleChildWidget> providers = [
  // 这里面的所有数据，如JKMealViewModel()是不会在启动app的时候进行加载的，只会在用到的时候进行加载
  // 过滤的数据共享
  ChangeNotifierProvider(create: (ctx) => JKFilterViewModel()),
  // 所有美食的共享数据
  ChangeNotifierProxyProvider<JKFilterViewModel, JKMealViewModel>(
    create: (ctx) => JKMealViewModel(),
    update: (ctx, filterVM, mealVM) {
      mealVM.updateFilters(filterVM);
      return mealVM;
    }
  ),
  // 收藏的数据共享
  ChangeNotifierProxyProvider<JKFilterViewModel, JKFavorViewModel>(
      create: (ctx) => JKFavorViewModel(),
      update: (ctx, filterVM, favorVM) {
        favorVM.updateFilters(filterVM);
        return favorVM;
      }
  ),
];